package cn.hss.array;

/**二分法查找指定元素
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/25 16:11
 * @Package 包名：cn.hss.array
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class BinarySearch {
	public static void main(String[] args) {
		//二分法查找：要求数组必须有序
		int[] arr={-99,-55,-3,0,2,33,45,256,999};
		//定义首尾下标位置
		int head=0;
		int end=arr.length-1;
		//定义临时变量
		boolean isFlag=true;
		//指定查找的目标元素
		int value=0;
		while(head<=end){
			//获取中间下标值
			int middle=(head+end)/2;
			if(arr[middle]==value){
				System.out.println("找到指定的元素，下标为："+middle);
				isFlag=false;
				break;
			}else if(arr[middle]>value){
				end=middle-1;
			}else{
				head=middle+1;
			}
		}
		if(isFlag){
			System.out.println("未找到指定元素。。。");
		}
	}
}
